1. Field of the Invention
The present invention generally relates to processing of multimedia data. More particularly, the present invention relates to location-predictive restoration of flawed multimedia image data stored on a hard disk drive.
2. Description of the Related Art
The e-commerce market is expanding rapidly, and the demands for faster e-commerce servers are increasing correspondingly. The growth of customer transaction volume demands reliable and expedient performance from the computer systems that support the e-commerce traffic. For example, a customer accessing an online catalog expects and demands that detailed product information, such as representative images, are displayed immediately at the customer's request. Any delays by the server system in processing the customer request (e.g., displaying a representative image of a product) may cause customer dissatisfaction with the online shopping experience, potentially resulting in loss of customers.
Data for online catalogs, order/shipping data and multimedia data, including data for images, video and sound, are typically stored on storage devices, such as data server systems having Redundant Arrays of Inexpensive Disks (RAID), connected to a host server system. RAID data storage systems typically include a plurality hard disk drives (HDDs). Currently, all HDDs include built-in error-correcting-code (ECC) apparatus that handles most errors in the readback process. Occasionally, some errors cannot be corrected by the ECC apparatus during an initial readback process, and a prescribed data recovery procedure (DRP) for the HDD is performed to recover the data from the HDD.
The DRP is a time consuming process for correcting data readback errors. Performance of the HDD may be severely degraded by the time required for performing the DRP, even for correcting a soft error (i.e., an error that can be corrected by performing the DRP) which eventually yields recovered data. However, when a hard error (i.e., an error that cannot be corrected by performing the DRP) occurs, time is wasted for performing the DRP while the readback error remain uncorrected. Furthermore, when a hard error occurs while reading data for an image, the whole image or portions of the image may be corrupted and become undisplayable, resulting in customer dissatisfaction with the online experience.
Most multimedia data are stored in compressed form to facilitate efficient usage of the storage space. Still images are typically stored utilizing JPEG (Joint Photographic Experts' Group) compression method while videos are typically stored utilizing MPEG (Moving Picture Experts' Group) compression method. Compressed data is decompressed after the data is readback from the HDD. Many steps utilized for MPEG compression/decompression of an individual video frame are similar to the steps utilized for JPEG compression/decompression of a still image.
Generally, the JPEG compression process includes the following steps. First, an image in raster order comprising an N1×N2 pixel-matrix (image-matrix) is divided into a plurality of 8×8 subimages (i.e., 8 pixel by 8 pixel subimages or blocks). Second, the N1×N2 pixel-matrix in the spatial domain is transformed into an N1×N2 coefficient matrix in the frequency domain utilizing discrete cosine transformation (DCT). JPEG compression is typically performed in the frequency domain. Third, The DCT coefficients in the N1×N2 coefficient matrix are quantized or truncated. Next, the quantized DCT coefficients are scanned, and descriptors are formed for the quantized DCT coefficients. Lastly, the data is entropy-encoded utilizing variable length lossless coding of the digital representation to reduce redundancy, which results in compressed data. The compressed data is then transmitted to and stored in storage devices.
The JPEG decompression process reverses the steps performed in the compression process to render an image from compressed data. First, the compressed data readback from storage devices is entropy-decoded utilizing variable length lossless decoding. Second, the descriptors are decoded, and the 8×8 blocks of quantized DCT coefficients are re-formed. Third, all 8×8 blocks of quantized DCT coefficients are dequantized. Next, an inverse DCT is applied to the DCT coefficients to transform the 8×8 blocks of DCT coefficients to 8×8 pixel subimages. Lastly, the 8×8 pixel subimages are converted to raster order, and the decompressed image (N1×N2 pixels) may then be displayed.
The compression/decompression processes involve index mapping of an N1×N2 pixel image into i by j subimages. The i by j subimages are stored sequentially and readback sequentially. FIG. 1 is a schematic diagram illustrating typical index mapping of an N1×N2 pixel image into i by j subimages. Each subimage (i,j) is a 8×8 pixel block, and both N1 and N2 are integer values which are divisible by 8. Thus, the N1×N2 pixel image is divided into i (N1 divided by 8) rows and j (N2 divided by 8) columns. The data representing the i by j subimages are stored sequentially in a data storage sequence (IMtypical) defined as in Equation (1).IMtypical=(1,1),(1,2), . . . (1,j),(2,1),(2,2), . . . (2,j), . . . , (i,1),(i,2), . . . (i,j)  Equation (1)If any portion of the data storage sequence is stored on a flawed portion of the HDD where a hard disk error results, the whole image or a series of consecutive or adjacent subimages may become unrecoverable and undisplayable. The time spent performing the HDD's data recovery procedure is wasted without improving the corrupted image.
Therefore, there is a need for a multimedia data processing method which improves server performance in rendering multimedia data. Particularly, there is a need for a method for processing multimedia data without requiring utilization of the hard disk drive's data recovery procedure when soft or hard errors are encountered in connection with reading of the multimedia data from the hard disk drive.